* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
authorJim Blandy <jimb@redhat.com>
Tue, 4 May 1993 02:39:39 +0000 (02:39 +0000)
committerJim Blandy <jimb@redhat.com>
Tue, 4 May 1993 02:39:39 +0000 (02:39 +0000)
commitd82222e114a8fdf1fbe0ca295497186189edd225
tree43753de49f4e4a30ccfdae061d27ada84d1c1bd9
parentc2e4f49a68cdfedaca2c2a785a80b64ca677b1fe
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
case we need them.
* termhooks.h (alt_modifier, super_modifier, hyper_modifier,
shift_modifier, ctrl_modifier, meta_modifier): Define these in
terms of the CHAR_mumble macros, to avoid having the same thing
defined in two places.

Make the modifier manipulation functions more robust.  The old way
caused a bug once, and probably would again.
* termhooks.h (alt_modifier, super_modifier, hyper_modifier,
shift_modifier, ctrl_modifier, meta_modifier): Shift these all
down one bit in value, to avoid sign extension problems.
* lisp.h (CHAR_META, CHAR_CTL, CHAR_SHIFT): Fix these definitions too.
* keyboard.c (lispy_modifier_list): Ignore modifier bits beyond
what our table of modifier names can handle.
(apply_modifiers): Don't abort if you see extra modifier bits,
just remove them.
src/termhooks.h